[USER (data scientist)]: Now that the data is preprocessed, I want to determine the optimal number of clusters using the silhouette score. Can you help me with that? Please generate the code with the output in plot type.
My template of code snippet is:

---BEGIN CODE TEMPLATE---

import pandas as pd  
from sklearn.cluster import KMeans 
from sklearn.metrics import silhouette_score 
import matplotlib.pyplot as plt
from decision_company import read_csv_file, create_kmeans, fit_predict_kmeans, get_silhouette_score, show_plots, create_figure, set_plot_title, set_yaxis_label, set_plot_xlabel, save_plot, plot, grid

# Load the dataset  
credit_customers = read_csv_file("credit_customers.csv")  
  
# YOUR SOLUTION BEGIN:
<code1>
[GENERATE YOUR CODE]
</code1>
# YOUR SOLUTION END

# Plot silhouette scores 
create_figure(figsize=(10, 6))  

# YOUR SOLUTION BEGIN:
<code2>
[GENERATE YOUR CODE]
</code2>
# YOUR SOLUTION END

# save data
save_plot('pred_result/Silhouette_Scores.png') 
show_plots()

---END CODE TEMPLATE---

[YOU (AI assistant)]: Sure, I'll calculate the silhouette scores for different numbers of clusters and plot the results. Here's the code for that:

# MY SOLUTION BEGIN:
